// 数组形式的整数加法
/*整数的 数组形式  num 是按照从左到右的顺序表示其数字的数组。

例如，对于 num = 1321 ，数组形式是 [1,3,2,1] 。
给定 num ，整数的 数组形式 ，和整数 k ，返回 整数 num + k 的 数组形式 。
*/
class Solution {
public:
    vector<int> addToArrayForm(vector<int>& num, int k) {
        int count = 0;
        vector<int> ret;
        int i = num.size() - 1;
        while (count || i != -1 || k) {
            int temp = 0;
            if (count)
                temp += count;
            if (i >= 0) {
                temp += num[i];
                i--;
            }
            if (k) {
                temp += (k % 10);
                k /= 10;
            }
            if (temp >= 10)
                count = 1;
            else
                count = 0;
            ret.push_back((temp % 10));
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }
};

//